home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (3rd Edition) / The Business Master (3rd Edition).iso / files / utilstem / util1 / ansi-rip.bas < prev    next >
BASIC Source File  |  1987-01-22  |  2KB  |  36 lines

  1. 10 REM *************************************************************
  2. 20 REM ** ANSI-RIP  ANSI control code stripper, by Monte Ferguson **
  3. 30 REM **  Vers 1.0, written 22-Jan-87                            **
  4. 40 REM *************************************************************
  5. 100 CLS:KEY OFF
  6. 110 PRINT "ANSI-RIP - ANSI control code stripper":PRINT
  7. 120 PRINT "This program will strip the ANSI control codes from a document.
  8. 130 PRINT
  9. 200 PRINT " Please enter the name of the source file. Note that the source file"
  10. 210 PRINT "will be unchanged... press just ENTER to abort."
  11. 220 INPUT "Source File";SOURCE$:IF SOURCE$="" THEN PRINT "-aborted by user-":STOP
  12. 300 PRINT
  13. 310 PRINT " Please enter the file or device name that you want to result to be"
  14. 320 PRINT "written to. Again, press only ENTER to abort."
  15. 330 INPUT "Target";TARGET$:IF TARGET$="" THEN PRINT "-aborted by user-":STOP
  16. 400 PRINT:PRINT:PRINT
  17. 410 PRINT "Openning Source file...";
  18. 420 OPEN SOURCE$ FOR INPUT AS #1:PRINT "opened."
  19. 430 L=LOF(1):PRINT "There are";L;"bytes in this file."
  20. 440 IF L=0 THEN PRINT "There doesn't seem to be much to strip, does there ?!":STOP
  21. 450 PRINT
  22. 500 PRINT "Openning Target...";
  23. 510 OPEN TARGET$ FOR OUTPUT AS #2:PRINT "opened."
  24. 600 CL=0:CB=1
  25. 610 WHILE NOT EOF(1)
  26. 620     LINE INPUT #1,A$
  27. 630     CL=CL+1:CB=CB+LEN(A$)+2:IF CL/10=INT(CL/10) THEN LOCATE 20,1:PRINT "Lines:";CL;TAB(20);"Bytes:";CB;TAB(40);INT(100*(CB/L));"% done.     "
  28. 700             WHILE INSTR(A$,CHR$(27))>0
  29. 710             I=INSTR(A$,CHR$(27)):J=I+1
  30. 720             IF INSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",MID$(A$,J,1))>0 THEN 800
  31. 730             J=J+1:IF J>LEN(A$) THEN J=I ELSE 720
  32. 800             A$=LEFT$(A$,I-1)+MID$(A$,J+1)
  33. 810     WEND
  34. 820     PRINT #2,A$
  35. 900 WEND:LOCATE 20,1:PRINT "Lines:";CL;TAB(20);"Bytes:";CB;TAB(40);INT(100*(CB/L));"% done.     ":END
  36.